// Record<Keys, Type>
// 构造一个对象类型，其属性键为Keys，其属性值为Type。此实用程序可用于将一种类型的属性映射到另一种类型。 

interface CatInfo {
    age: number;
    breed: string;
  }
   
  type CatName = "miffy" | "boris" | "mordred";
   
  type dadq  = Record<CatName, CatInfo>
//   const cats: Record<CatName, CatInfo> = {
//     miffy: { age: 10, breed: "Persian" },
//     boris: { age: 5, breed: "Maine Coon" },
//     mordred: { age: 16, breed: "British Shorthair" },
//   };
   
//   cats.boris;
   
//   const cats: Record<CatName, CatInfo>
  export {}

  type recored<K extends string|number|symbol,T> = {
    [P in K] : T
  } 

  type recored1<K extends keyof any,T> = {
    [P in K] : T
  } 
  type adasd = keyof any  // keyof any 等价于 string|number|symbol